package dtos

import "time"

// CreateCommentDto 创建评论请求
type CreateCommentDto struct {
	Content  string `json:"content" binding:"required"`
	Author   string `json:"author,omitempty"`  // 游客评论需要提供
	Email    string `json:"email,omitempty"`   // 游客评论需要提供
	ParentID *uint  `json:"parent_id,omitempty"` // 父评论ID
}

// CommentResponse 评论响应
type CommentResponse struct {
	ID        uint             `json:"id"`
	Content   string           `json:"content"`
	Author    string           `json:"author"`
	Avatar    string           `json:"avatar,omitempty"`
	User      *UserInfo        `json:"user,omitempty"` // 登录用户信息
	CreatedAt time.Time        `json:"created_at"`
	Replies   []CommentResponse `json:"replies,omitempty"`
}

// CommentListResponse 评论列表响应
type CommentListResponse struct {
	Comments  []CommentResponse `json:"comments"`
	Total     int               `json:"total"`
}